﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sgs_Entity
{
	/// <summary>
	/// 卡
	/// </summary>
	[Serializable]
	public class Card
	{
		#region 卡枚举
		/// <summary>
		/// 卡花色（空NA、黑桃Spade、红桃Heart、梅花Club、方块Diamond）
		/// </summary>
		public enum CardSuit
		{
			/// <summary>
			/// 空
			/// </summary>
			NA,

			/// <summary>
			/// 黑桃
			/// </summary>
			Spade,

			/// <summary>
			/// 红桃
			/// </summary>
			Heart,

			/// <summary>
			/// 梅花
			/// </summary>
			Club,

			/// <summary>
			/// 方块
			/// </summary>
			Diamond
		}

		/// <summary>
		/// 卡种类（空NA、基本Base、锦囊Skill、装备Equipment）
		/// </summary>
		public enum CardSort
		{
			/// <summary>
			/// 空
			/// </summary>
			NA,

			/// <summary>
			/// 基本
			/// </summary>
			Base,

			/// <summary>
			/// 锦囊
			/// </summary>
			Skill,

			/// <summary>
			/// 装备
			/// </summary>
			Equipment
		}

		/// <summary>
		/// 装备牌类型
		/// </summary>
		public enum EquipmentCardType
		{
			/// <summary>
			/// 武器
			/// </summary>
			Weapon,

			/// <summary>
			/// 装备
			/// </summary>
			Armor,

			/// <summary>
			/// +1马
			/// </summary>
			DefensiveHorse,

			/// <summary>
			/// -1马
			/// </summary>
			OffensiveHorse
		}

		/// <summary>
		/// 技能牌类型
		/// </summary>
		public enum SkillCardType
		{
			/// <summary>
			/// 非延时
			/// </summary>
			Realtime,

			/// <summary>
			/// 延时
			/// </summary>
			Delayed
		}

		/// <summary>
		/// 卡类型（空NA、普杀Kill、闪Evade、桃Peach、雷杀ThunderKill、酒Liquor、火杀FireKill、无懈可击Invulnerable、过河拆桥DemolishingBridge、铁索连环IronChainLink、顺手牵羊WalkingOff、无中生有Fabrication、决斗Duel、南蛮入侵SouthernManInvasion、火攻FireAttack、乐不思蜀EnjoymentDrown、借刀杀人MuderWithBorrowedKnife、五谷丰登BumperHarvest、兵粮寸断SupplyShortage、闪电Lightning、桃园结义OathInPeachGarden、万箭齐发MyriadsOfArrows、防守马DefenseSteed、进攻马AttackSteed、八卦阵FormationOfEightDiagrams、藤甲RattanArmor、仁王盾ShieldOfBenevolentKing、白银狮子SilverLionHelmet、诸葛连弩ArbalestOfZhuge、雌雄双股剑CoupleSword、青釭剑SteelSword、寒冰剑FreezingSword、古锭刀AncientIngotSaber、贯石斧RockPenetratingAxe、青龙偃月刀AzureDragonCrescentSword、丈八蛇矛ZhangbaSerpentSpear、方天画戟FangtianPatternedHalberd、朱雀羽扇RosefinchPlumeFan、麒麟弓KylinBow）
		/// </summary>
		public enum CardType
		{
			/// <summary>
			/// 空
			/// </summary>
			NA,
			/// <summary>
			/// 杀
			/// </summary>
			Kill,
			/// <summary>
			/// 闪
			/// </summary>
			Evade,
			/// <summary>
			/// 桃
			/// </summary>
			Peach,
			/// <summary>
			/// 雷杀
			/// </summary>
			ThunderKill,
			/// <summary>
			/// 酒
			/// </summary>
			Liquor,
			/// <summary>
			/// 火杀
			/// </summary>
			FireKill,
			/// <summary>
			/// 无懈可击
			/// </summary>
			Invulnerable,
			/// <summary>
			/// 过河拆桥
			/// </summary>
			DemolishingBridge,
			/// <summary>
			/// 铁索连环
			/// </summary>
			IronChainLink,
			/// <summary>
			/// 顺手牵羊
			/// </summary>
			WalkingOff,
			/// <summary>
			/// 无中生有
			/// </summary>
			Fabrication,
			/// <summary>
			/// 决斗
			/// </summary>
			Duel,
			/// <summary>
			/// 南蛮入侵
			/// </summary>
			SouthernManInvasion,
			/// <summary>
			/// 火攻
			/// </summary>
			FireAttack,
			/// <summary>
			/// 乐不思蜀
			/// </summary>
			EnjoymentDrown,
			/// <summary>
			/// 借刀杀人
			/// </summary>
			MuderWithBorrowedKnife,
			/// <summary>
			/// 五谷丰登
			/// </summary>
			BumperHarvest,
			/// <summary>
			/// 兵粮寸断
			/// </summary>
			SupplyShortage,
			/// <summary>
			/// 闪电
			/// </summary>
			Lightning,
			/// <summary>
			/// 桃园结义
			/// </summary>
			OathInPeachGarden,
			/// <summary>
			/// 万箭齐发
			/// </summary>
			MyriadsOfArrows,
			/// <summary>
			/// 防守马
			/// </summary>
			DefenseSteed,
			/// <summary>
			/// 进攻马
			/// </summary>
			AttackSteed,
			/// <summary>
			/// 八卦阵
			/// </summary>
			FormationOfEightDiagrams,
			/// <summary>
			/// 藤甲
			/// </summary>
			RattanArmor,
			/// <summary>
			/// 仁王盾
			/// </summary>
			ShieldOfBenevolentKing,
			/// <summary>
			/// 白银狮子
			/// </summary>
			SilverLionHelmet,
			/// <summary>
			/// 诸葛连弩
			/// </summary>
			ArbalestOfZhuge,
			/// <summary>
			/// 雌雄双股剑
			/// </summary>
			CoupleSword,
			/// <summary>
			/// 青釭剑
			/// </summary>
			SteelSword,
			/// <summary>
			/// 寒冰剑
			/// </summary>
			FreezingSword,
			/// <summary>
			/// 古锭刀
			/// </summary>
			AncientIngotSaber,
			/// <summary>
			/// 贯石斧
			/// </summary>
			RockPenetratingAxe,
			/// <summary>
			/// 青龙偃月刀
			/// </summary>
			AzureDragonCrescentSword,
			/// <summary>
			/// 丈八蛇矛
			/// </summary>
			ZhangbaSerpentSpear,
			/// <summary>
			/// 方天画戟
			/// </summary>
			FangtianPatternedHalberd,
			/// <summary>
			/// 朱雀羽扇
			/// </summary>
			RosefinchPlumeFan,
			/// <summary>
			/// 麒麟弓
			/// </summary>
			KylinBow
		}
		#endregion

		/// <summary>
		/// 标准版卡包
		/// </summary>
		public Dictionary<int, Cards> StandardCardSet = new Dictionary<int, Cards>()
		{
			//方片1，诸葛连弩
			{0, new Cards(CardType.ArbalestOfZhuge, 1, CardSuit.Diamond)},

			//梅花1，诸葛连弩
			{1, new Cards(CardType.ArbalestOfZhuge, 1, CardSuit.Club)},

			//TODO:待补充
		};

		/// <summary>
		/// EX卡包
		/// </summary>
		public Dictionary<int, Cards> ExtensionCardSet = new Dictionary<int, Cards>()
		{
			//黑桃2，寒冰剑
			{0, new Cards(CardType.SteelSword, 2, CardSuit.Spade)},

			//梅花1，诸葛连弩
			{1, new Cards(CardType.RattanArmor, 2, CardSuit.Club)},

			//TODO:待补充
		};

		/// <summary>
		/// 卡结构
		/// TODO;待补充其他类型
		/// </summary>
		public struct Cards
		{
			CardType CardType;

			int CardNum;

			CardSuit CardSuit;

			public Cards(CardType cardType, int cardNum, CardSuit cardSuit)
			{
				CardType = cardType;
				CardNum = cardNum;
				CardSuit = cardSuit;
			}
		}

		
	}

	

	
}
